package com.itheima03.day13Test;

import java.io.*;
import java.util.Scanner;

/**
 * @author 刘全
 * @date 2021/8/4
 */
public class Test4 {
    public static void main(String[] args) throws IOException {
        /**
         * 4. 键盘录入一个整数：1代表登录，2代表注册用户。
         * 		当输入1：登录的时候，提示键盘录入用户名和密码，
         * 		    然后当前项目下的user.txt文件中找是否有对应的用户名密码。
         * 			如果键盘录入的用户名密码在user.txt中存在，则提示登录成功。否则登录失败
         * 		当输入2：注册的时候，提示输入用户名和密码。
         * 			如果user.txt中已经存在输入的用户名，提示用户名已经存在。
         * 			如果user.txt中不存在输入的用户名，将用户名和密码保存到user.txt中，提示注册成功。
         */
        Scanner sc = new Scanner(System.in);
        BufferedReader br = null;
        BufferedWriter bw = null;
        loop:while (true) {
            System.out.println("请输入一个整数(1:登录  2:注册用户  3:退出):");
            int choice = sc.nextInt();
            String username;
            String password;
            String s;
            switch (choice) {
                case 1:
                    System.out.println("========登录界面========");
                    System.out.println("请输入用户名");
                    username = sc.next();
                    System.out.println("请输入密码");
                    password = sc.next();
                    lo:
                    while (true) {
                        br = new BufferedReader(new FileReader("user.txt"));
                        while ((s = br.readLine()) != null) {
                            if ((username + ":" + password).equals(s)) {
                                System.out.println("登录成功");
                                br.close();
                                break lo;
                            }
                        }
                        System.out.println("登录失败");
                        break;
                    }
                    break;
                case 2:
                    System.out.println("========注册界面========");
                    lo1:while (true) {
                        System.out.println("请输入用户名");
                        username = sc.next();
                        lo2:while (true) {
                            br = new BufferedReader(new FileReader("user.txt"));
                            while ((s = br.readLine()) != null) {
                                int index = s.indexOf(":");
                                String ss = s.substring(index - 1, index);
                                if (username.equals(ss)) {
                                    System.out.println("用户名已存在");
                                    br.close();
                                    break lo2;
                                }
                            }
                            System.out.println("请输入密码");
                            password = sc.next();
                            break lo1;
                        }
                    }
                    bw = new BufferedWriter(new FileWriter("user.txt",true));;
                    bw.write(username+":"+password);
                    bw.newLine();
                    System.out.println("注册成功");
                    bw.close();
                    break;
                case 3:
                    System.out.println("感谢您的使用");
                    break loop;
                default:
                    System.out.println("您的选择有误");
            }
        }
        br.close();
        bw.close();
    }
}
